package com.smart.village.big.screen.mapper;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONStreamAware;
import com.smart.village.big.screen.domain.PartyOrganization;
import com.smart.village.big.screen.domain.PartyOrganizationCollectStaticVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PartyOrganizationMapper {

    List<PartyOrganization> selectListByParentSerialNumber(String partyOrganizationSerialNumber);

    List<PartyOrganization> selectTreeListByParentSerialNumber(String partyOrganizationSerialNumber,String partyOrganizationType);

    PartyOrganization selectBySerialNumber(String partyOrganizationSerialNumber);

    List<PartyOrganizationCollectStaticVo> getThreeQuota(String partyOrganizationSerialNumber);

    JSONObject getMicroPartyOrganizationInformation(String partyOrganizationSerialNumber);

    List<JSONObject> getMicroPositionInformation(String partyOrganizationSerialNumber);
    // 新改版的 小程序 换届选举列表
    List<JSONObject> getMicroPositionInformationNew(String partyOrganizationSerialNumber);

    List<JSONObject> getMicroBriefInformation(String partyOrganizationSerialNumber);

    String getMaxTenureSerialNumber(String partyOrganizationSerialNumber);

    List<JSONObject>getAllSecondLevelPartyOrganizationList();

    JSONObject getSecondLevelPartyOrganizationBySerialNumber(String partyOrganizationName);

    List<JSONObject> getPartyOrganizationPositionTree(@Param("tenureSerialNumber") String tenureSerialNumber
            , @Param("partyOrganizationSerialNumber")String partyOrganizationSerialNumber);

    List<JSONObject> getAllGovernmentStructure(String townNumber, String villageNumber);

    List<String> getPartyOrganizationSerialNumber(String villageNumber);

    List<JSONObject> getFriendShipLinks();
}
